import axios, {AxiosInstance} from "axios";
import {Notify, Toast} from "vant";

const isDev = process.env.NODE_ENV === 'development';

export const LOGIN_URL = isDev ? 'http://localhost:5173/#/user/login' : 'https://qy.flyone.space/#/user/login';
export const INDEX_URL = isDev ? 'http://localhost:5173/#/' : 'https://qy.flyone.space/#/';

// 创建实例时配置默认值
const myAxios: AxiosInstance = axios.create({
    baseURL: isDev ? 'http://localhost:8081/api' : 'https://qy-backend.flyone.space/api',
});
myAxios.defaults.withCredentials = true;
// 添加请求拦截器
myAxios.interceptors.request.use(function (config) {
    // console.log("我要发请求拉")
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});
// 添加响应拦截器
myAxios.interceptors.response.use(function (response) {
    // console.log("收到响应了", response)
    if (response?.data?.code === 40100) {
        window.location.href = LOGIN_URL;
        Notify({type: "warning", message: '请先登录！'});
    }
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response.data;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});


export default myAxios;
